/**
 * 双指针判断
 * @param {string} s
 * @param {string} t
 * @return {boolean}
 */
var backspaceCompare = function(s, t) {
    let sLen = s.length - 1, tLen = t.length - 1, sStarCount = 0, tStarCount = 0
    while (sLen >= 0 || tLen >= 0) {
        // 比对情况一：处理各自的#
        while (sLen >= 0) {
            if (s[sLen] === '#') {
                sStarCount++
                sLen--
            } else if (sStarCount > 0) {
                sStarCount--
                sLen--
            } else {
                break
            }
        }
        while (tLen >= 0) {
            if (t[tLen] === '#') {
                tStarCount++
                tLen--
            } else if (tStarCount > 0) {
                tStarCount--
                tLen--
            } else {
                break
            }
        }

        // 比对情况二：字符是否相等
        if (sLen >= 0 && tLen >= 0) {
            if (s[sLen] !== t[tLen]) {
                return false
            }
        } else {
            // 比对情况三：是否有单个字符串未轮询
            if (sLen >= 0 || tLen >= 0) return false
        }
        sLen--
        tLen--
    }

    return true
};